package com.uzai.console.service.wechatprivate;

import com.uzai.console.dto.wechatprivate.configplan.ConfigPlanPluginIdDto;
import com.uzai.console.dto.wechatprivate.configplan.ConfigPlanPluginUpdateDto;
import com.uzai.console.dto.wechatprivate.wxq.manageplan.WxqManagePlanDto;
import com.uzai.console.dto.wechatprivate.wxq.manageplan.WxqManagePlanIdDto;
import com.uzai.console.dto.wechatprivate.wxq.manageplan.WxqManagePlanQuery;
import com.uzai.console.vo.sysplugin.SysPluginVo;
import com.uzai.console.vo.wechatprivate.wxq.manageplan.WxqManagePlanVo;

import java.util.List;

/***
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface WxqManagePlanService {

    /**
     * 查询管理方案列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param query
     * @return null
     */
    List<WxqManagePlanVo> findWxqManagePlanList(WxqManagePlanQuery query);

    /**
     * 查询管理方案详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxqManagePlanIdDto
     * @return null
     */
    WxqManagePlanVo findWxqManagePlanInfo(WxqManagePlanIdDto wxqManagePlanIdDto);

    /**
     * 添加管理方案
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxqManagePlanDto
     * @return null
     */
    Long addWxqManagePlan(WxqManagePlanDto wxqManagePlanDto);

    /**
     * 修改管理方案详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxqManagePlanDto
     * @return null
     */
     void updateWxqManagePlan(WxqManagePlanDto wxqManagePlanDto);

    /**
     * 重名名
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxqManagePlanDto
     * @return null
     */
    void updateName(WxqManagePlanDto wxqManagePlanDto);

    /**
     * 删除管理方案详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxqManagePlanIdDto
     * @return null
     */
    void deleteWxqManagePlan(WxqManagePlanIdDto wxqManagePlanIdDto);

    /**
     * 获取插件详情
     *
     * @param configPlanPluginIdDto
     * @return
     */
    SysPluginVo findSysPluginInfo(ConfigPlanPluginIdDto configPlanPluginIdDto);

    /**
     * 更新插件详情
     *
     * @param configPlanPluginUpdateDto
     * @return
     */
    Long updateSysPlugin(ConfigPlanPluginUpdateDto configPlanPluginUpdateDto);
}
